package com.doctcloud.hisinfo.histable.document;

import com.doctcloud.common.core.annotation.Excel;
import com.doctcloud.common.core.annotation.TableDesc;
import lombok.*;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName 科室附属信息
 * @Author samula
 * @Descripe product by com.doctcloud
 * @Data 2025-09-23 1:21
 **/
@Document(collection = "dept_desc_info")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = {"deptCode"})
@ToString
@TableDesc("科室附属详细信息")
public class DeptDescInfoDo implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 科室代码 (同时作为 MongoDB 的主键 _id)
     */
    @Id
    @Field("_id") // 修正：映射到 MongoDB 的 _id 字段
    @Excel(name = "科室代码")
    private String deptCode;

    /**
     * 科室名称
     */
    @Field("dept_name") // 如果数据库是下划线命名法，则保留
    @Excel(name = "科室名称")
    private String deptName;
    /**
     * 医院ID
     */
    @Field("hospital_id")
    @Excel(name = "医院ID")
    private String hospitalId = "*";
    /**
     * 科室简述
     */
    @Field("detail_desc")
    @Excel(name = "科室简述")
    private String deptDescDetail;
    /**
     * 负责人
     */
    @Field("leader")
    @Excel(name = "负责人")
    private String leader;
    /**
     * 联系电话
     */
    @Field("phone")
    @Excel(name = "联系电话")
    private String phone;
    /**
     * 科室文件夹
     */
    @Field("buckets")
    @Excel(name = "科室文件夹")
    private String buckets;
    /**
     * 文件地址列表
     */
    @Field("files_infos")
    @Excel(name = "文件地址")
    private List<FileInfoDo> fileInfos;
}
